package itHeima.lesson6;

import java.util.Random;
import java.util.Scanner;

public class demo7 {
    /**
     * 随机排名（抽签）
     * 1.态初始化数组
     * 2.录入
     * 3.遍历
     * 4.随机生成索引
     * 5.与当前索引进行交换
     *
     * @param args
     */
    public static void main(String[] args) {
//        动态初始化数组
        int[] arr = new int[5];
//键盘录入
        Scanner scanner = new Scanner(System.in);
//        遍历数组
        for (int i = 0; i < arr.length; i++) {
            System.out.println("请输入第" + (i + 1) + "位员工的编号");
            int rs = scanner.nextInt();
//            把输入的数据rs保存在数组arr中
            arr[i] = rs;
        }
//        得到的原始数据为
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i] + "   ");
        }

//        再次遍历数组每一次循环都生产一个随机索引
        Random r = new Random();

        for (int i = 0; i < arr.length; i++) {
//            生产一个随机数
            int index = r.nextInt(arr.length);
//            把i的位置的元素与生产随机数的随机索引位置的元素 做交换
            /**
             * 定义一个temp
             * 把i保存到 temp中
             * 然后随机数的index = i
             *  然后让 第二个数 等于临时设置的temp
             *  temp num[i] num[index] ==> 流程
             *  0       1       2 ===> 假设初始值
             *  1       1       2 ===>1
             *  1       2       2 ===>2
             *  1       2       1 ===>3
             */
            int temp = arr[i];
            arr[i] = arr[index];
            arr[index] = temp;
        }
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i] + "   ");
        }
    }
}
